package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 作业题目对象 assignment_problems
 * 
 * @author ruoyi
 * @date 2025-08-15
 */
public class AssignmentProblems extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 作业题目ID */
    private Long assignmentProblemId;

    /** 作业ID */
    @Excel(name = "作业ID")
    private Long assignmentId;

    /** 题目名称 */
    @Excel(name = "题目名称")
    private String problemName;

    /** 题目描述 */
    @Excel(name = "题目描述")
    private String problemDescription;

    /** 作业类型 */
    @Excel(name = "作业类型")
    private String problemType;

    /** 分值 */
    @Excel(name = "分值")
    private BigDecimal score;

    /** 排序号 */
    @Excel(name = "排序号")
    private Long sortOrder;

    /** 要求的文件类型 */
    @Excel(name = "要求的文件类型")
    private String requiredFiles;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setAssignmentProblemId(Long assignmentProblemId) 
    {
        this.assignmentProblemId = assignmentProblemId;
    }

    public Long getAssignmentProblemId() 
    {
        return assignmentProblemId;
    }

    public void setAssignmentId(Long assignmentId) 
    {
        this.assignmentId = assignmentId;
    }

    public Long getAssignmentId() 
    {
        return assignmentId;
    }

    public void setProblemName(String problemName) 
    {
        this.problemName = problemName;
    }

    public String getProblemName() 
    {
        return problemName;
    }

    public void setProblemDescription(String problemDescription) 
    {
        this.problemDescription = problemDescription;
    }

    public String getProblemDescription() 
    {
        return problemDescription;
    }

    public void setProblemType(String problemType) 
    {
        this.problemType = problemType;
    }

    public String getProblemType() 
    {
        return problemType;
    }

    public void setScore(BigDecimal score) 
    {
        this.score = score;
    }

    public BigDecimal getScore() 
    {
        return score;
    }

    public void setSortOrder(Long sortOrder) 
    {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder() 
    {
        return sortOrder;
    }

    public void setRequiredFiles(String requiredFiles) 
    {
        this.requiredFiles = requiredFiles;
    }

    public String getRequiredFiles() 
    {
        return requiredFiles;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("assignmentProblemId", getAssignmentProblemId())
            .append("assignmentId", getAssignmentId())
            .append("problemName", getProblemName())
            .append("problemDescription", getProblemDescription())
            .append("problemType", getProblemType())
            .append("score", getScore())
            .append("sortOrder", getSortOrder())
            .append("requiredFiles", getRequiredFiles())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
